In an automation line using a robot arm, a worker performs working called “teaching” to previously store position data of a tip of the arm. Teaching needs time and labor, and the worker's burden is large. Accordingly, teaching-less is required for the worker. In order to perform teaching-less, a visual sensor and a force sensor are simultaneously used for the robot. However, the visual sensor has error in a depth direction, and the visual sensor having high accuracy requires high cost. Furthermore, in the case of using the force sensor installed to a tip of the robot arm, the depth direction can be measured from contact information acquired by touching operation (the tip is lightly touched with a working object). However, the force sensor is expensive, and easy to be broken. Instead of the force sensor, even if a mechanism to detect the contact power is attached, this becomes a factor of high cost.
Accordingly, without additional sensors and so on, based on encoder values of a motor driving each joint of the robot arm, estimation of an external force occurred at the tip of the arm is requested.